// interface IManager {
//     id:number
//     name:string
//     role:string
//     dept:string
//     age:number
// }

// interface ISuperManager {
//     id:number
//     name:string
//     role:string
//     age:number
//     menus:IMenu[]
// }

interface IManager {
    id:number
    name:string
    role:string
    age:number
    menus?:IMenu[]
    dept?:string
}

interface IMenu {
    id:number,
    path:string
}

// 联合类型：多个类型可以组合在一起。约束我们数据
// type定义的变量 类型别名。类型别名值联合类型
// type newManager = IManager | ISuperManager

const datas:Array<IManager> = [
    {id:1,name:"xiaowang",role:"普通管理员",dept:"开发部门",age:23},
    {id:2,name:"xiaofei",role:"超级管理员",menus:[{id:1,path:"/home"}],age:23}
]

//返回管理员的菜单
function getMenus(username:string,datas:Array<IManager>){
    const user = datas.find(item=>item.name == username)
    if(user){
        return user.menus
    }else{
        return "用户存在"
    }
}





